home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 January: Mac OS SDK / Dev.CD Jan 96 SDK / Dev.CD Jan 96 SDK1.toast / Development Kits (Disc 1) / AOCE / Development Tools / Sample Code / SampleTemplate / Sample Template / BuildTemplate next >
Encoding:
Text File  |  1993-09-07  |  4.8 KB  |  140 lines  |  [TEXT/MPS ]

  1.  
  2. #=======================================================================================#
  3. #                Set up Path Variables used in this script.                                #
  4. #=======================================================================================#
  5.     Directory {SampleTemplate}
  6.  
  7.     Set TDir :zObjs:
  8.     Set rsrc :resources:
  9.     Set BuildResults :BuildResults:
  10.     
  11.     Set Source :Source:
  12.     Set PublicIncludes :PublicIncludes:
  13.     
  14.     Set SourceDirs "{Source} {PublicIncludes}"
  15.  
  16. #=======================================================================================#
  17. #                Make sure that the MakeFile exists, and is up to date.                    #
  18. #=======================================================================================#
  19.     if `Newer {SampleTemplate}BuildTemplate {SampleTemplate}MakeFile`
  20.         set tvBuildMakefile 1
  21.     end
  22.     
  23. #=======================================================================================#
  24. #                            Now Parse the command line                                    #
  25. #=======================================================================================#
  26.  
  27.     For Parameter In {"Parameters"}
  28.         If "{Parameter}" =~ /MakeFile/
  29.             set tvBuildMakefile 1
  30.             
  31.         End
  32.     End
  33.  
  34.  
  35.  
  36.     Set Search1 "-i {PublicIncludes}  -i {Source} -i {rsrc}"
  37.     
  38. #=======================================================================================#
  39. #                            Create folders as required                                    #
  40. #=======================================================================================#
  41.     if Not "`Exists -d {TDir}`"
  42.         NewFolder {TDir}
  43.     end
  44.  
  45.     if Not "`Exists -d {rsrc}`"
  46.         NewFolder {rsrc}
  47.     end
  48.  
  49. #=======================================================================================#
  50. #                                    Create Make File                                    #
  51. #=======================================================================================#
  52.     if "`Exists -f {rsrc}TemplateMain.r`"
  53.         Delete "{rsrc}TemplateMain.r"
  54.     end
  55.  
  56. if {tvBuildMakefile}
  57.         
  58.     MakeMake    MAKEFILE="Makefile.temp" ∂
  59.                 SETFILEOPTS='-t rsrc -c RSED' ∂
  60.                 -nosys -nomacro -nodoth -nodotr -nosrcs -nolibs ∂
  61.                 -srcdirs "{SourceDirs}" ∂
  62.                 -objdir '{TDir}' ∂
  63.                 -i {PublicIncludes} ∂
  64.                 -i {rsrc} ∂
  65.                 -ir {rsrc} ∂
  66.                 ∂
  67.                 -t "{BuildResults}AlbumMainAspectOnly" ∂
  68.                             -r "-c fish -t detf -s {rsrc}" ∂
  69.                             {Source}AlbumMainAspect.r ∂
  70.                 -t "{BuildResults}AlbumWithLayout" ∂
  71.                             -r "-c fish -t detf -s {rsrc}" ∂
  72.                             {Source}AlbumInfoPageLayout.r ∂
  73.                 -t "{BuildResults}AlbumOnePage" ∂
  74.                             -r "-c fish -t detf -s {rsrc}" ∂
  75.                             {Source}AlbumInfoPage.r ∂
  76.                 -t "{BuildResults}ConditionalAlbum" ∂
  77.                             -r "-c fish -t detf -s {rsrc}" ∂
  78.                             {Source}AlbumConditional.r ∂
  79.                 -t "{BuildResults}SimpleTwoPageAlbum" ∂
  80.                             -r "-c fish -t detf -s {rsrc}" ∂
  81.                             {Source}AlbumSimplePage2.r ∂
  82.                             {Source}AlbumConditional.r ∂
  83.                 -t "{BuildResults}SublistTwoPageAlbum" ∂
  84.                             -r "-c fish -t detf -s {rsrc}" ∂
  85.                             {Source}AlbumSublistPage2.r ∂
  86.                             {Source}AlbumConditional.r ∂
  87.                             {Source}Track.r ∂
  88.                 -t "{BuildResults}SublistAndCollection" ∂
  89.                             -r "-c fish -t detf -s {rsrc}" ∂
  90.                             {Source}AlbumCollection.r ∂
  91.                             {Source}AlbumSublistPage2.r ∂
  92.                             {Source}AlbumConditional.r ∂
  93.                             {Source}Track.r ∂
  94.                 -t "{BuildResults}Code1Album" ∂
  95.                             -r "-c fish -t detf -s {rsrc}" ∂
  96.                             {Source}AlbumCollection.r ∂
  97.                             {Source}AlbumCode1Page2.r ∂
  98.                             {Source}AlbumConditional.r ∂
  99.                             {Source}Track.r ∂
  100.                 -t "{rsrc}Album1Code" ∂
  101.                         -l '-sg Album ∂
  102.                             -m ALBUMCODE ∂
  103.                             -rt detc' ∂
  104.                             {Source}AlbumCode1Page2.c ∂
  105.                 -t "{BuildResults}Code2Album" ∂
  106.                             -r "-c fish -t detf -s {rsrc}" ∂
  107.                             {Source}AlbumCollection.r ∂
  108.                             {Source}AlbumCode2Page2.r ∂
  109.                             {Source}AlbumConditional.r ∂
  110.                             {Source}Track.r ∂
  111.                 -t "{rsrc}Album2Code" ∂
  112.                         -l '-sg Album ∂
  113.                             -m ALBUMCODE ∂
  114.                             -rt detc' ∂
  115.                             {Source}AlbumCode2Page2.c ∂
  116.                             '{Libraries}Runtime.o' ≥ Dev:Null
  117.         
  118.         # Here we take any lines with > 255 characters and break them into mutiple lines.
  119.         # We also strip out multiple tabs.  Finally, we delete the temp make file.
  120.         # Warning: makemake's standard error output if re-directed into a blackhole for now,
  121.         # couldn't get stream edit to take piped input, though specifying Dev:StdOut for 
  122.         # the makefile name almost gets us there…
  123.  
  124.         Streamedit "{SampleTemplate}Makefile.temp" -e "/?«255»/ Replace /' '/ ' ∂∂∂∂∂n∂t' -c ∞; ∂
  125.                        /∂t«2,»/ Replace /[∂t]+/ '∂t' -c ∞" > "{SampleTemplate}Makefile"
  126.  
  127.         Delete "{SampleTemplate}Makefile.temp"             
  128. end
  129.  
  130. Set MakeTargets "{BuildResults}Code2Album {BuildResults}Code1Album {BuildResults}SublistAndCollection {BuildResults}SublistTwoPageAlbum {BuildResults}SimpleTwoPageAlbum {BuildResults}ConditionalAlbum {BuildResults}AlbumOnePage {BuildResults}AlbumWithLayout {BuildResults}AlbumMainAspectOnly"
  131.  
  132. Make -d COptions="-r -b3 -d SystemSevenOrLater=1 {Search1}" ∂
  133.      -d AOptions="-wb" ∂
  134.      -d TDir="{TDir}" ∂
  135.      {MakeTargets}  > Template.Make
  136.  
  137. DoIt Template.Make
  138.  
  139. Beep 1c,25  ## simple sound to signal completion. OK?
  140.